package errmsg

// 定义通用的错误码常量
const (
	SUCCESS = 200 // 成功状态码
	ERROR   = 500 // 通用错误状态码
)

// 用户模块的错误码
const (
	ERROR_USERNAME_USED    = 1001 // 用户名已存在
	ERROR_PASSWORD_WRONG   = 1002 // 密码错误
	ERROR_USER_NOT_EXIST   = 1003 // 用户不存在
	ERROR_TOKEN_EXIST      = 1004 // TOKEN不存在
	ERROR_TOKEN_RUNTIME    = 1005 // TOKEN已过期
	ERROR_TOKEN_WRONG      = 1006 // TOKEN不正确
	ERROR_TOKEN_TYPE_WRONG = 1007 // TOKEN格式错误
	ERROR_USER_NO_RIGHT    = 1008 // 用户无权限
)

// 文章模块的错误码
const (
	ERROR_ART_NOT_EXIST = 2001 // 文章不存在
)

// 分类模块的错误码
const (
	ERROR_CATENAME_USED  = 3001 // 分类已存在
	ERROR_CATE_NOT_EXIST = 3002 // 分类不存在
)

// codeMsg 映射错误码到错误信息
var codeMsg = map[int]string{
	SUCCESS:                "OK",
	ERROR:                  "FAIL",
	ERROR_USERNAME_USED:    "用户名已存在！",
	ERROR_PASSWORD_WRONG:   "密码错误",
	ERROR_USER_NOT_EXIST:   "用户不存在",
	ERROR_TOKEN_EXIST:      "TOKEN不存在,请重新登陆",
	ERROR_TOKEN_RUNTIME:    "TOKEN已过期,请重新登陆",
	ERROR_TOKEN_WRONG:      "TOKEN不正确,请重新登陆",
	ERROR_TOKEN_TYPE_WRONG: "TOKEN格式错误,请重新登陆",
	ERROR_USER_NO_RIGHT:    "该用户无权限",

	ERROR_ART_NOT_EXIST: "文章不存在",

	ERROR_CATENAME_USED:  "该分类已存在",
	ERROR_CATE_NOT_EXIST: "该分类不存在",
}

// GetErrMsg 根据错误码获取错误信息
// 参数 code 错误码
// 返回值 错误信息字符串
func GetErrMsg(code int) string {
	return codeMsg[code]
}
